//
//
// function TreeLoader(data) {
//     var _this = this;
//     this.say = function () {
//     };
//     this.treeId = data.treeId;
//     this.url = data.url;
//     this.method = data.method || "GET";
//     this.contentType = data.contentType || "application/x-www-form-urlencoded";
//     this.request = data.request;
//     this.response = data.response || {code: "code", successCode: 0, msg: "message", dataTree: "data"};
//     this.format = data.format;
//
//     this.load = function () {
//         layui.use(['tree', 'jquery', 'layer'], function () {
//             var $ = layui.jquery;
//             var tree = layui.tree;
//
//             var data = _this.request;
//             if (_this.contentType == "application/json") {
//                 data = JSON.stringify(data);
//             }
//             $.ajax({
//                 url: _this.url,
//                 type: _this.method,
//                 contentType: _this.contentType,
//                 data: data,
//                 dataType: 'json',
//                 error: common_ajax_error,
//                 success: function (data) {
//                     if (_this.response && _this.response.code && _this.response.successCode) {
//                         var code = data[_this.response.code]
//                         if (_this.response.successCode != code) {
//                             layer.alert(data[_this.response.msg] || "error to request tree url")
//                             return
//                         }
//                     }
//
//                     treeData = data;
//                     if (_this.response && _this.response.dataTree) {
//                         treeData = data[_this.response.dataTree]
//                     }
//                     _this.format_all(treeData);
//                     tree.reload(_this.treeId, {
//                         data: treeData
//                     });
//                 }
//             })
//         })
//     };
//     this.format_all = function (treeData) {
//         if (_this.format) {
//             if (treeData.constructor == Array) {
//                 treeData.forEach(function (e) {
//                     _this.format(e)
//                     if (e.children) {
//                         e.children.forEach(function (child) {
//                             _this.format_all(child);
//                         })
//                     }
//                 })
//             } else {
//                 _this.format(treeData);
//                 if (treeData.children) {
//                     treeData.children.forEach(function (child) {
//                         _this.format_all(child);
//                     })
//                 }
//             }
//
//         }
//     }
//
// };
//
// function LayerForm(data) {
//     var _this = this;
//     this.url = data.url;
//     this.method = data.method || "GET";
//     this.contentType = data.contentType || "application/x-www-form-urlencoded";
//     this.title = data.title || "提交表单";
//     this.success = data.success;
//     this.form = data.form;
//     this.area = data.area || "auto";
//
//     this.form_id = genId("layer_form_");
//     this.build = function () {
//         return [`<form class='layui-form' id='${_this.form_id}' style='margin-right:30px;margin-top:20px'>`,
//             function () {
//                 if (_this.form) {
//                     var array = new Array();
//                     _this.form.forEach(function (e) {
//                         if (e.type == 'hide') {
//                             array.push("<div class='layui-form-item  layui-hide'>");
//                         } else {
//                             array.push("<div class='layui-form-item'>");
//                         }
//
//                         array.push(`<label class='layui-form-label'>${e.label}</label>`);
//                         array.push("<div class='layui-input-block'>");
//                         if (e.type == 'text' || e.type == 'password' || e.type == 'hide') {
//                             array.push(`<input type='${e.type}' name='${e.name}' value='${e.value || ""}' ${e.required || ""} lay-verify='${e.required || ""}' placeholder='${e.placeholder || ""}' autocomplete='off' class='layui-input'>`);
//                         } else if (e.type == 'select') {
//                             array.push(` <select name="${e.name}">`)
//                             e.options && e.options.forEach(function (e1) {
//                                 array.push(`<option value="${e1.value}" ${e1.selected || ""}>${e1.label}</option>`)
//                             })
//                             array.push(` </select>`)
//                         } else if (e.type == 'radio') {
//                             e.options && e.options.forEach(function (e1) {
//                                 array.push(`<input type="radio" name="${e.name}" value="${e1.value}" title="${e1.label}" ${e1.checked || ""}>`)
//                             })
//                         } else if (e.type == 'checkbox') {
//                             e.options && e.options.forEach(function (e1) {
//
//                                 array.push(`<input type="checkbox" name="${e.name}" title="${e1.label}" value="${e1.value}" ${e1.checked || ""}>`)
//                             })
//                             if (!e.options) {
//                                 array.push(`<input type="checkbox" name="${e.name}" value="${e.value}" ${e.checked || ""} lay-skin="switch" lay-text="开启|关闭"> `)
//                             }
//                         } else if (e.type == 'textarea') {
//                             array.push(`<textarea name="${e.name}" placeholder='${e.placeholder || ""}' value='${e.value || ""}' class="layui-textarea"></textarea>`)
//                         }
//                         array.push("</div>");
//                         array.push("</div>");
//                     })
//                     return array.join("");
//                 }
//             }(),
//             "</form>"].join("");
//     };
//
//     this.open = function () {
//         layui.use(['tree', 'jquery', 'layer', 'form'], function () {
//             var layer = layui.layer;
//             var form = layui.form;
//             var $ = layui.jquery;
//             layer.open({
//                 title: _this.title,
//                 type: 1,
//                 area: _this.area,
//                 content: _this.build(),
//                 btn: ["提交", "取消"],
//                 yes: function (index, layero) {
//                     var form = $("#" + _this.form_id);
//                     _this.data = form.serialize();
//                     if (_this.contentType == "application/json") {
//                         var tmp = getFormAsJson(form);
//                         _this.data = JSON.stringify(tmp);
//                     }
//                     $.ajax({
//                         url: _this.url,
//                         type: _this.method,
//                         contentType: _this.contentType,
//                         data: _this.data,
//                         dataType: 'json',
//                         error: common_ajax_error,
//                         success: function (data) {
//                             if (data.code == AJAX_SUCCESS_CODE) {
//                                 layer.close(index);
//                                 if (_this.success) {
//                                     _this.success(data);
//                                 }
//                             } else {
//                                 layer.msg('失败：' + data.msg, {icon: 2});
//                             }
//                         }
//                     });
//                     return false;
//                 }
//             })
//             layui.form.render();
//         });
//
//     }
// }
//
// function common_ajax_error(XMLHttpRequest, textStatus, errorThrown) {
//     if (XMLHttpRequest.readyState == 4) {
//         var data = JSON.parse(XMLHttpRequest.responseText);
//         layer.msg('失败：' + data.msg, {icon: 2});
//     } else {
//         layer.msg('请求执行失败', {icon: 2});
//     }
// }
//
// function getFormAsJson($form) {
//     var indexed_array = {};
//     layui.use('jquery', function () {
//         var $ = layui.jquery;
//         var unindexed_array = $form.serializeArray();
//         $.map(unindexed_array, function (n, i) {
//             indexed_array[n['name']] = n['value'];
//         });
//
//     })
//     return indexed_array;
// }
//
// function genId(prefix) {
//     return (prefix || "id_") + Date.now();
// }
//
// function LayerAjax(data) {
//     var _this = this;
//     this.url = data.url;
//     this.method = data.method || "GET";
//     this.contentType = data.contentType || "application/x-www-form-urlencoded";
//     this.title = data.title || "标题";
//     this.msg = data.msg || "确认执行吗？"
//     this.success = data.success;
//     this.data = data.data;
//
//     this.open = function () {
//         layer.confirm(_this.msg, {icon: 3, title: _this.title}, function (index) {
//             //do something
//             layui.use("jquery", function () {
//                 var submit_data = _this.data;
//                 if (_this.contentType == "application/json") {
//                     submit_data = JSON.stringify(_this.data);
//                 }
//                 var $ = layui.jquery;
//                 $.ajax({
//                     url: _this.url,
//                     type: _this.method,
//                     contentType: _this.contentType,
//                     data: _this.data,
//                     dataType: 'json',
//                     error: common_ajax_error,
//                     success: function (data) {
//                         if (data.code == AJAX_SUCCESS_CODE) {
//                             layer.close(index);
//                             if (_this.success) {
//                                 _this.success(data);
//                             }
//                         } else {
//                             layer.msg('失败：' + data.msg, {icon: 2});
//                         }
//                     }
//                 });
//             });
//
//         });
//     }
// }
//
// function fillForm(id, data) {
//     layui.use(["jquery", "form"], function () {
//         var $ = layui.jquery;
//         var form = layui.form;
//         var frm = $("#" + id);
//         $.each(data, function (key, value) {
//             var ctrl = $('[name=' + key + ']', frm);
//             switch (ctrl.prop("type")) {
//                 case "radio":
//                 case "checkbox":
//                     ctrl.each(function () {
//                         if (typeof value == "boolean") {
//                             if (($(this).attr('value') == 'true') === value) {
//                                 $(this).attr("checked", 'checked');
//                             } else {
//                                 $(this).removeAttr("checked");
//                             }
//                         } else {
//                             if ($(this).attr('value') == value) {
//                                 $(this).attr("checked", 'checked');
//                             } else {
//                                 $(this).removeAttr("checked");
//                             }
//                         }
//                     });
//                     break;
//                 default:
//                     ctrl.val(value);
//             }
//         });
//         form.render();
//     })
// }
